<template>
  <div class="app-container">

    <el-dialog :visible.sync="OpenDialog"
               :before-close="handleClose" width="30%" title="添加课程分类">
      <el-form label-width="180px">
        <el-form-item label="信息描述">
          <el-tag type="info">excel模版说明</el-tag>
          <el-tag>
            <i class="el-icon-download"/>
            <a :href="'/static/上传模板.xlsx'">点击下载模版</a>
          </el-tag>
        </el-form-item>

        <el-form-item label="选择Excel">
          <el-upload
            ref="upload"
            :auto-upload="false"
            :on-success="fileUploadSuccess"
            :on-error="fileUploadError"
            :disabled="importBtnDisabled"
            :limit="1"
            :action="BASE_API + '/edu_service/subject/addSubject'"
            name="file"
            accept="application/vnd.ms-excel"
          >
            <el-button slot="trigger" size="small" type="primary"
            >选取文件
            </el-button
            >
            <el-button
              :loading="loading"
              style="margin-left: 10px"
              size="small"
              type="success"
              @click="submitUpload"
            >上传到服务器
            </el-button
            >
          </el-upload>
        </el-form-item>
      </el-form>

    </el-dialog>
  </div>
</template>
<script>
export default {
  data() {
    return {
      BASE_API: process.env.BASE_API, // 接口API地址
      importBtnDisabled: false, // 按钮是否禁用
      loading: false,
      excelFrom: true
    };
  },
  created() {
  },
  methods: {
    OpenDialog() {
      this.excelFrom = true
    },
    handleClose(done) {
      this.$confirm('是否取消添加课程分类？', '提示', {
        confirmButtonText: "确定",
        cancelButtonText: "取消"
      })
        .then(_ => {
          this.$router.push({path: "/subject/list"});
        })
        .catch(_ => {
          done();
        });
    },
    submitUpload() {
      this.importBtnDisabled = true;
      this.loading = true;
      this.$refs.upload.submit();
    },
    fileUploadSuccess() {
      this.loading = false
      // 上传成功页面
      this.$message({
        type: "success",
        message: "上传成功",
      });
      // 跳转到课程分类页面
      this.$router.push({path: '/subject/list'})
    },
    fileUploadError() {
      this.loading = false
      this.$message({
        type: "error",
        message: "上传失败",
      });
    },
  },
};
</script>
